home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / shareware / warpquake / warpquakesrc / makefile.solaris < prev    next >
Makefile  |  2000-02-29  |  12KB  |  484 lines

  1. #
  2. # Quake Makefile for Solaris
  3. #
  4. # Nov '97 by Zoid <zoid@idsoftware.com>
  5. #
  6. # ELF only
  7. #
  8.  
  9. VERSION=1.09
  10.  
  11. ifneq (,$(findstring i86pc,$(shell uname -m)))
  12. ARCH=i386
  13. else
  14. ARCH=sparc
  15. endif
  16.  
  17. MOUNT_DIR=/grog/Projects/WinQuake
  18.  
  19. BUILD_DEBUG_DIR=debug$(ARCH)
  20. BUILD_RELEASE_DIR=release$(ARCH)
  21.  
  22. CC=gcc
  23. BASE_CFLAGS=-I/usr/openwin/include
  24.  
  25. RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations
  26. DEBUG_CFLAGS=$(BASE_CFLAGS) -g
  27. LDFLAGS=-R /usr/openwin/lib -L /usr/openwin/lib -lm -lX11 -lXext -lsocket -lnsl -lthread -ldl 
  28. XIL_LDFLAGS=-L /opt/SUNWits/Graphics-sw/xil/lib -R /opt/SUNWits/Graphics-sw/xil/lib:/usr/openwin/lib -L /usr/openwin/lib -lm -lxil -lX11 -lXext -lsocket -lnsl -lthread -ldl 
  29.  
  30. DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
  31. DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
  32.  
  33. #############################################################################
  34. # SETUP AND BUILD
  35. #############################################################################
  36.  
  37. TARGETS=$(BUILDDIR)/quake.sw $(BUILDDIR)/quake.xil
  38.  
  39. build_debug:
  40.     @-mkdir $(BUILD_DEBUG_DIR)
  41.     $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  42.  
  43. build_release:
  44.     @-mkdir $(BUILD_RELEASE_DIR)
  45.     $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
  46.  
  47. all: build_debug build_release
  48.  
  49. targets: $(TARGETS)
  50.  
  51. #############################################################################
  52. # CLIENT/SERVER
  53. #############################################################################
  54.  
  55. QUAKE_OBJS= \
  56.     $(BUILDDIR)/chase.o \
  57.     $(BUILDDIR)/cl_demo.o \
  58.     $(BUILDDIR)/cl_input.o \
  59.     $(BUILDDIR)/cl_main.o \
  60.     $(BUILDDIR)/cl_parse.o \
  61.     $(BUILDDIR)/cl_tent.o \
  62.     $(BUILDDIR)/cmd.o \
  63.     $(BUILDDIR)/common.o \
  64.     $(BUILDDIR)/console.o \
  65.     $(BUILDDIR)/crc.o \
  66.     $(BUILDDIR)/cvar.o \
  67.     $(BUILDDIR)/draw.o \
  68.     $(BUILDDIR)/d_edge.o \
  69.     $(BUILDDIR)/d_fill.o \
  70.     $(BUILDDIR)/d_init.o \
  71.     $(BUILDDIR)/d_modech.o \
  72.     $(BUILDDIR)/d_part.o \
  73.     $(BUILDDIR)/d_polyse.o \
  74.     $(BUILDDIR)/d_scan.o \
  75.     $(BUILDDIR)/d_sky.o \
  76.     $(BUILDDIR)/d_sprite.o \
  77.     $(BUILDDIR)/d_surf.o \
  78.     $(BUILDDIR)/d_vars.o \
  79.     $(BUILDDIR)/d_zpoint.o \
  80.     $(BUILDDIR)/host.o \
  81.     $(BUILDDIR)/host_cmd.o \
  82.     $(BUILDDIR)/keys.o \
  83.     $(BUILDDIR)/menu.o \
  84.     $(BUILDDIR)/mathlib.o \
  85.     $(BUILDDIR)/model.o \
  86.     $(BUILDDIR)/nonintel.o \
  87.     $(BUILDDIR)/pr_cmds.o \
  88.     $(BUILDDIR)/pr_edict.o \
  89.     $(BUILDDIR)/pr_exec.o \
  90.     $(BUILDDIR)/r_aclip.o \
  91.     $(BUILDDIR)/r_alias.o \
  92.     $(BUILDDIR)/r_bsp.o \
  93.     $(BUILDDIR)/r_light.o \
  94.     $(BUILDDIR)/r_draw.o \
  95.     $(BUILDDIR)/r_efrag.o \
  96.     $(BUILDDIR)/r_edge.o \
  97.     $(BUILDDIR)/r_misc.o \
  98.     $(BUILDDIR)/r_main.o \
  99.     $(BUILDDIR)/r_sky.o \
  100.     $(BUILDDIR)/r_sprite.o \
  101.     $(BUILDDIR)/r_surf.o \
  102.     $(BUILDDIR)/r_part.o \
  103.     $(BUILDDIR)/r_vars.o \
  104.     $(BUILDDIR)/screen.o \
  105.     $(BUILDDIR)/sbar.o \
  106.     $(BUILDDIR)/sv_main.o \
  107.     $(BUILDDIR)/sv_phys.o \
  108.     $(BUILDDIR)/sv_move.o \
  109.     $(BUILDDIR)/sv_user.o \
  110.     $(BUILDDIR)/zone.o    \
  111.     $(BUILDDIR)/view.o    \
  112.     $(BUILDDIR)/wad.o \
  113.     $(BUILDDIR)/world.o \
  114.     $(BUILDDIR)/cd_null.o \
  115.     $(BUILDDIR)/snd_dma.o \
  116.     $(BUILDDIR)/snd_mix.o \
  117.     $(BUILDDIR)/snd_mem.o \
  118.     $(BUILDDIR)/net_dgrm.o \
  119.     $(BUILDDIR)/net_loop.o \
  120.     $(BUILDDIR)/net_main.o \
  121.     $(BUILDDIR)/net_vcr.o \
  122.     $(BUILDDIR)/net_udp.o \
  123.     $(BUILDDIR)/net_bsd.o \
  124.     $(BUILDDIR)/sys_sun.o \
  125.     $(BUILDDIR)/snd_sun.o 
  126.  
  127. QUAKE_AS_OBJS= \
  128.     $(BUILDDIR)/d_copy.o \
  129.     $(BUILDDIR)/d_draw.o \
  130.     $(BUILDDIR)/d_draw16.o \
  131.     $(BUILDDIR)/d_parta.o \
  132.     $(BUILDDIR)/d_polysa.o \
  133.     $(BUILDDIR)/d_scana.o \
  134.     $(BUILDDIR)/d_spr8.o \
  135.     $(BUILDDIR)/d_varsa.o \
  136.     $(BUILDDIR)/math.o \
  137.     $(BUILDDIR)/r_aliasa.o \
  138.     $(BUILDDIR)/r_drawa.o \
  139.     $(BUILDDIR)/r_edgea.o \
  140.     $(BUILDDIR)/r_varsa.o \
  141.     $(BUILDDIR)/surf16.o \
  142.     $(BUILDDIR)/surf8.o \
  143.     $(BUILDDIR)/worlda.o \
  144.     $(BUILDDIR)/r_aclipa.o \
  145.     $(BUILDDIR)/snd_mixa.o \
  146.     $(BUILDDIR)/sys_dosa.o
  147.  
  148. QUAKE_X_OBJS = $(BUILDDIR)/vid_sunx.o
  149.  
  150. QUAKE_XIL_OBJS = $(BUILDDIR)/vid_sunxil.o
  151.  
  152. ifeq ($(ARCH),i386)
  153. $(BUILDDIR)/quake.sw : $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_X_OBJS)
  154.     $(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_X_OBJS) $(LDFLAGS)
  155.  
  156. $(BUILDDIR)/quake.xil: $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_XIL_OBJS)
  157.     $(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_XIL_OBJS) $(XIL_LDFLAGS)
  158. else
  159. $(BUILDDIR)/quake.sw : $(QUAKE_OBJS) $(QUAKE_X_OBJS)
  160.     $(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_X_OBJS) $(LDFLAGS)
  161.  
  162. $(BUILDDIR)/quake.xil: $(QUAKE_OBJS) $(QUAKE_XIL_OBJS)
  163.     $(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_XIL_OBJS) $(XIL_LDFLAGS)
  164. endif
  165.  
  166. ##
  167.  
  168. $(BUILDDIR)/chase.o :                $(MOUNT_DIR)/chase.c
  169.     $(DO_CC)
  170.  
  171. $(BUILDDIR)/cl_demo.o :             $(MOUNT_DIR)/cl_demo.c
  172.     $(DO_CC)
  173.  
  174. $(BUILDDIR)/cl_input.o :            $(MOUNT_DIR)/cl_input.c
  175.     $(DO_CC)
  176.  
  177. $(BUILDDIR)/cl_main.o :             $(MOUNT_DIR)/cl_main.c
  178.     $(DO_CC)
  179.  
  180. $(BUILDDIR)/cl_parse.o :            $(MOUNT_DIR)/cl_parse.c
  181.     $(DO_CC)
  182.  
  183. $(BUILDDIR)/cl_tent.o :             $(MOUNT_DIR)/cl_tent.c
  184.     $(DO_CC)
  185.  
  186. $(BUILDDIR)/cmd.o :                 $(MOUNT_DIR)/cmd.c
  187.     $(DO_CC)
  188.  
  189. $(BUILDDIR)/common.o :              $(MOUNT_DIR)/common.c
  190.     $(DO_CC)
  191.  
  192. $(BUILDDIR)/console.o :             $(MOUNT_DIR)/console.c
  193.     $(DO_CC)
  194.  
  195. $(BUILDDIR)/crc.o :                 $(MOUNT_DIR)/crc.c
  196.     $(DO_CC)
  197.  
  198. $(BUILDDIR)/cvar.o :                $(MOUNT_DIR)/cvar.c
  199.     $(DO_CC)
  200.  
  201. $(BUILDDIR)/draw.o :                $(MOUNT_DIR)/draw.c
  202.     $(DO_CC)
  203.  
  204. $(BUILDDIR)/d_edge.o :              $(MOUNT_DIR)/d_edge.c
  205.     $(DO_CC)
  206.  
  207. $(BUILDDIR)/d_fill.o :              $(MOUNT_DIR)/d_fill.c
  208.     $(DO_CC)
  209.  
  210. $(BUILDDIR)/d_init.o :              $(MOUNT_DIR)/d_init.c
  211.     $(DO_CC)
  212.  
  213. $(BUILDDIR)/d_modech.o :            $(MOUNT_DIR)/d_modech.c
  214.     $(DO_CC)
  215.  
  216. $(BUILDDIR)/d_part.o :              $(MOUNT_DIR)/d_part.c
  217.     $(DO_CC)
  218.  
  219. $(BUILDDIR)/d_polyse.o :            $(MOUNT_DIR)/d_polyse.c
  220.     $(DO_CC)
  221.  
  222. $(BUILDDIR)/d_scan.o :              $(MOUNT_DIR)/d_scan.c
  223.     $(DO_CC)
  224.  
  225. $(BUILDDIR)/d_sky.o :               $(MOUNT_DIR)/d_sky.c
  226.     $(DO_CC)
  227.  
  228. $(BUILDDIR)/d_sprite.o :            $(MOUNT_DIR)/d_sprite.c
  229.     $(DO_CC)
  230.  
  231. $(BUILDDIR)/d_surf.o :              $(MOUNT_DIR)/d_surf.c
  232.     $(DO_CC)
  233.  
  234. $(BUILDDIR)/d_vars.o :              $(MOUNT_DIR)/d_vars.c
  235.     $(DO_CC)
  236.  
  237. $(BUILDDIR)/d_zpoint.o :            $(MOUNT_DIR)/d_zpoint.c
  238.     $(DO_CC)
  239.  
  240. $(BUILDDIR)/host.o :                $(MOUNT_DIR)/host.c
  241.     $(DO_CC)
  242.  
  243. $(BUILDDIR)/host_cmd.o :            $(MOUNT_DIR)/host_cmd.c
  244.     $(DO_CC)
  245.  
  246. $(BUILDDIR)/keys.o :                $(MOUNT_DIR)/keys.c
  247.     $(DO_CC)
  248.  
  249. $(BUILDDIR)/menu.o :                $(MOUNT_DIR)/menu.c
  250.     $(DO_CC)
  251.  
  252. $(BUILDDIR)/mathlib.o :             $(MOUNT_DIR)/mathlib.c
  253.     $(DO_CC)
  254.  
  255. $(BUILDDIR)/model.o :               $(MOUNT_DIR)/model.c
  256.     $(DO_CC)
  257.  
  258. $(BUILDDIR)/nonintel.o :            $(MOUNT_DIR)/nonintel.c
  259.     $(DO_CC)
  260.  
  261. $(BUILDDIR)/pr_cmds.o :             $(MOUNT_DIR)/pr_cmds.c
  262.     $(DO_CC)
  263.  
  264. $(BUILDDIR)/pr_edict.o :            $(MOUNT_DIR)/pr_edict.c
  265.     $(DO_CC)
  266.  
  267. $(BUILDDIR)/pr_exec.o :             $(MOUNT_DIR)/pr_exec.c
  268.     $(DO_CC)
  269.  
  270. $(BUILDDIR)/r_aclip.o :             $(MOUNT_DIR)/r_aclip.c
  271.     $(DO_CC)
  272.  
  273. $(BUILDDIR)/r_alias.o :             $(MOUNT_DIR)/r_alias.c
  274.     $(DO_CC)
  275.  
  276. $(BUILDDIR)/r_bsp.o :               $(MOUNT_DIR)/r_bsp.c
  277.     $(DO_CC)
  278.  
  279. $(BUILDDIR)/r_light.o :             $(MOUNT_DIR)/r_light.c
  280.     $(DO_CC)
  281.  
  282. $(BUILDDIR)/r_draw.o :              $(MOUNT_DIR)/r_draw.c
  283.     $(DO_CC)
  284.  
  285. $(BUILDDIR)/r_efrag.o :             $(MOUNT_DIR)/r_efrag.c
  286.     $(DO_CC)
  287.  
  288. $(BUILDDIR)/r_edge.o :              $(MOUNT_DIR)/r_edge.c
  289.     $(DO_CC)
  290.  
  291. $(BUILDDIR)/r_misc.o :              $(MOUNT_DIR)/r_misc.c
  292.     $(DO_CC)
  293.  
  294. $(BUILDDIR)/r_main.o :              $(MOUNT_DIR)/r_main.c
  295.     $(DO_CC)
  296.  
  297. $(BUILDDIR)/r_sky.o :               $(MOUNT_DIR)/r_sky.c
  298.     $(DO_CC)
  299.  
  300. $(BUILDDIR)/r_sprite.o :            $(MOUNT_DIR)/r_sprite.c
  301.     $(DO_CC)
  302.  
  303. $(BUILDDIR)/r_surf.o :              $(MOUNT_DIR)/r_surf.c
  304.     $(DO_CC)
  305.  
  306. $(BUILDDIR)/r_part.o :              $(MOUNT_DIR)/r_part.c
  307.     $(DO_CC)
  308.  
  309. $(BUILDDIR)/r_vars.o :              $(MOUNT_DIR)/r_vars.c
  310.     $(DO_CC)
  311.  
  312. $(BUILDDIR)/screen.o :              $(MOUNT_DIR)/screen.c
  313.     $(DO_CC)
  314.  
  315. $(BUILDDIR)/sbar.o :                $(MOUNT_DIR)/sbar.c
  316.     $(DO_CC)
  317.  
  318. $(BUILDDIR)/sv_main.o :             $(MOUNT_DIR)/sv_main.c
  319.     $(DO_CC)
  320.  
  321. $(BUILDDIR)/sv_phys.o :             $(MOUNT_DIR)/sv_phys.c
  322.     $(DO_CC)
  323.  
  324. $(BUILDDIR)/sv_move.o :             $(MOUNT_DIR)/sv_move.c
  325.     $(DO_CC)
  326.  
  327. $(BUILDDIR)/sv_user.o :             $(MOUNT_DIR)/sv_user.c
  328.     $(DO_CC)
  329.  
  330. $(BUILDDIR)/zone.o    :               $(MOUNT_DIR)/zone.c
  331.     $(DO_CC)
  332.  
  333. $(BUILDDIR)/view.o    :               $(MOUNT_DIR)/view.c
  334.     $(DO_CC)
  335.  
  336. $(BUILDDIR)/wad.o :                 $(MOUNT_DIR)/wad.c
  337.     $(DO_CC)
  338.  
  339. $(BUILDDIR)/world.o :               $(MOUNT_DIR)/world.c
  340.     $(DO_CC)
  341.  
  342. $(BUILDDIR)/cd_null.o :             $(MOUNT_DIR)/cd_null.c
  343.     $(DO_CC)
  344.  
  345. $(BUILDDIR)/snd_dma.o :             $(MOUNT_DIR)/snd_dma.c
  346.     $(DO_CC)
  347.  
  348. $(BUILDDIR)/snd_mix.o :             $(MOUNT_DIR)/snd_mix.c
  349.     $(DO_CC)
  350.  
  351. $(BUILDDIR)/snd_mem.o :             $(MOUNT_DIR)/snd_mem.c
  352.     $(DO_CC)
  353.  
  354. $(BUILDDIR)/net_dgrm.o :            $(MOUNT_DIR)/net_dgrm.c
  355.     $(DO_CC)
  356.  
  357. $(BUILDDIR)/net_loop.o :            $(MOUNT_DIR)/net_loop.c
  358.     $(DO_CC)
  359.  
  360. $(BUILDDIR)/net_main.o :            $(MOUNT_DIR)/net_main.c
  361.     $(DO_CC)
  362.  
  363. $(BUILDDIR)/net_vcr.o :             $(MOUNT_DIR)/net_vcr.c
  364.     $(DO_CC)
  365.  
  366. $(BUILDDIR)/net_udp.o :             $(MOUNT_DIR)/net_udp.c
  367.     $(DO_CC)
  368.  
  369. $(BUILDDIR)/net_bsd.o :             $(MOUNT_DIR)/net_bsd.c
  370.     $(DO_CC)
  371.  
  372. $(BUILDDIR)/sys_sun.o :             $(MOUNT_DIR)/sys_sun.c
  373.     $(DO_CC)
  374.  
  375. $(BUILDDIR)/snd_sun.o :             $(MOUNT_DIR)/snd_sun.c
  376.     $(DO_CC)
  377.  
  378. $(BUILDDIR)/in_sun.o :             $(MOUNT_DIR)/in_sun.c
  379.     $(DO_CC)
  380.  
  381. $(BUILDDIR)/vid_sunx.o :             $(MOUNT_DIR)/vid_sunx.c
  382.     $(DO_CC)
  383.  
  384. $(BUILDDIR)/vid_sunxil.o :             $(MOUNT_DIR)/vid_sunxil.c
  385.     $(DO_CC)
  386.  
  387. #####
  388.  
  389. $(BUILDDIR)/d_copy.o :   $(MOUNT_DIR)/d_copy.s
  390.     $(DO_AS)
  391.  
  392. $(BUILDDIR)/d_draw.o :   $(MOUNT_DIR)/d_draw.s
  393.     $(DO_AS)
  394.  
  395. $(BUILDDIR)/d_draw16.o : $(MOUNT_DIR)/d_draw16.s
  396.     $(DO_AS)
  397.  
  398. $(BUILDDIR)/d_parta.o :  $(MOUNT_DIR)/d_parta.s
  399.     $(DO_AS)
  400.  
  401. $(BUILDDIR)/d_polysa.o : $(MOUNT_DIR)/d_polysa.s
  402.     $(DO_AS)
  403.  
  404. $(BUILDDIR)/d_scana.o :  $(MOUNT_DIR)/d_scana.s
  405.     $(DO_AS)
  406.  
  407. $(BUILDDIR)/d_spr8.o :   $(MOUNT_DIR)/d_spr8.s
  408.     $(DO_AS)
  409.  
  410. $(BUILDDIR)/d_varsa.o :  $(MOUNT_DIR)/d_varsa.s
  411.     $(DO_AS)
  412.  
  413. $(BUILDDIR)/math.o :     $(MOUNT_DIR)/math.s
  414.     $(DO_AS)
  415.  
  416. $(BUILDDIR)/r_aliasa.o : $(MOUNT_DIR)/r_aliasa.s
  417.     $(DO_AS)
  418.  
  419. $(BUILDDIR)/r_drawa.o :  $(MOUNT_DIR)/r_drawa.s
  420.     $(DO_AS)
  421.  
  422. $(BUILDDIR)/r_edgea.o :  $(MOUNT_DIR)/r_edgea.s
  423.     $(DO_AS)
  424.  
  425. $(BUILDDIR)/r_varsa.o :  $(MOUNT_DIR)/r_varsa.s
  426.     $(DO_AS)
  427.  
  428. $(BUILDDIR)/surf16.o :   $(MOUNT_DIR)/surf16.s
  429.     $(DO_AS)
  430.  
  431. $(BUILDDIR)/surf8.o :    $(MOUNT_DIR)/surf8.s
  432.     $(DO_AS)
  433.  
  434. $(BUILDDIR)/worlda.o :   $(MOUNT_DIR)/worlda.s
  435.     $(DO_AS)
  436.  
  437. $(BUILDDIR)/r_aclipa.o : $(MOUNT_DIR)/r_aclipa.s
  438.     $(DO_AS)
  439.  
  440. $(BUILDDIR)/snd_mixa.o : $(MOUNT_DIR)/snd_mixa.s
  441.     $(DO_AS)
  442.  
  443. $(BUILDDIR)/sys_dosa.o : $(MOUNT_DIR)/sys_dosa.s
  444.     $(DO_AS)
  445.  
  446. #############################################################################
  447. # TAR
  448. #############################################################################
  449.  
  450. # Make RPMs.  You need to be root to make this work
  451. RPMDIR = /var/tmp/quake-$(VERSION)
  452.  
  453. tar:
  454.     if [ ! -d archives ];then mkdir archives;fi
  455.     $(MAKE) copyfiles COPYDIR=$(RPMDIR)
  456.     cd $(RPMDIR); tar cvf q2ded-$(VERSION)-$(ARCH)-sun-solaris2.5.1.tar *
  457.     cd $(RPMDIR); compress q2ded-$(VERSION)-$(ARCH)-sun-solaris2.5.1.tar
  458.     mv $(RPMDIR)/*.tar.Z archives/.
  459.     rm -rf $(RPMDIR)
  460.  
  461. copyfiles:
  462.     -mkdirhier $(COPYDIR)
  463.     cp $(BUILD_RELEASE_DIR)/quake.sw $(COPYDIR)
  464.     cp $(BUILD_RELEASE_DIR)/quake.xil $(COPYDIR)
  465.     strip $(COPYDIR)/quake
  466.     strip $(COPYDIR)/quake.xil
  467.     cp $(MOUNT_DIR)/README.Solaris $(COPYDIR)/README.Solaris
  468.  
  469. #############################################################################
  470. # MISC
  471. #############################################################################
  472.  
  473. clean: clean-debug clean-release
  474.  
  475. clean-debug:
  476.     $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  477.  
  478. clean-release:
  479.     $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  480.  
  481. clean2:
  482.     -rm -f $(QUAKE_OBJS) $(QUAKE_X_OBJS) $(QUAKE_XIL_OBJS)
  483.  
  484.